System and method for using a side camera for a free space gesture inputs

ABSTRACT

An information handling system including a camera mounted in the side edge surface for detecting gestures by a user in a gesture detecting zone next to the system and including a gesture detection system for interpreting free space gestures and initializing cursor control commands.

FIELD OF THE DISCLOSURE

This disclosure generally relates to a system for utilization of one ormore integrated cameras for free space mouse gesture input and track padfunction, and more particularly relates to a side mounted camera usedfor detection of input gestures with or without a projection plane.

BACKGROUND

As the value and use of information continues to increase, individualsand businesses seek additional ways to process and store information.One option is an information handling system. An information handlingsystem generally processes, compiles, stores, and/or communicatesinformation or data for business, personal, or other purposes. Becausetechnology and information handling needs and requirements may varybetween different applications, information handling systems may alsovary regarding what information is handled, how the information ishandled, how much information is processed, stored, or communicated, andhow quickly and efficiently the information may be processed, stored, orcommunicated. The variations in information handling systems allow forinformation handling systems to be general or configured for a specificuser or specific use such as clinical healthcare data storage anddistribution, financial transaction processing, procurement, stockingand delivery tracking, provision of data services and software, airlinereservations, enterprise data storage, or global communications.Information handling systems may include a variety of hardware andsoftware components that may be configured to process, store, andcommunicate information and may include one or more computer systems,data storage systems, and networking systems. Additionally, informationhandling systems may have one or more display screens for output ofimages and for input such as by touch screen operation. Informationhandling systems typically utilize one or more input devices for cursorcontrol such as mouse systems, track pads, trackball systems, andsimilar cursor control devices. Additional input devices such astouchscreens and alpha numeric input devices such as keyboards are alsoused. Cursor control systems may require additional equipment beavailable for use in connection with the information handling system.

BRIEF DESCRIPTION OF THE DRAWINGS

It will be appreciated that for simplicity and clarity of illustration,elements illustrated in the Figures have not necessarily been drawn toscale. For example, the dimensions of some of the elements areexaggerated relative to other elements. Embodiments incorporatingteachings of the present disclosure are shown and described with respectto the drawings presented herein, in which:

FIG. 1 is a hardware block diagram illustrating an information handlingsystem having a camera according to an embodiment of the presentdisclosure;

FIG. 2 illustrates a block diagram illustrating the hardware devicesinvolved in capturing free space gestures for input via side cameraaccording to an embodiment of the present disclosure;

FIG. 3 illustrates an example information handling system with sidecamera according to an embodiment of the present disclosure;

FIG. 4 illustrates an another example information handling system withside camera according to an embodiment of the present disclosure;

FIG. 5A is flow diagram illustrating an example method for use of a sidecamera for free space gesture inputs according to an embodiment of thepresent disclosure;

FIG. 5B illustrates an image capture of a user's hand with focus onportions of the user's hand involved in free space gesture according toan embodiment of the present disclosure;

FIG. 6 illustrates another example information handling system with sidecamera and projection of an opto-virtual free space gesture plane in adetection zone according to an embodiment of the present disclosure; and

FIG. 7 is a flow diagram illustrating another example method for use ofa side camera for free space gesture inputs according to an embodimentof the present disclosure.

The use of the same reference symbols in different drawings indicatessimilar or identical items.

DETAILED DESCRIPTION OF DRAWINGS

The following description in combination with the Figures is provided toassist in understanding the teachings disclosed herein. The followingdiscussion will focus on specific implementations and embodiments of theteachings. This focus is provided to assist in describing the teachingsand should not be interpreted as a limitation on the scope orapplicability of the teachings. However, other teachings may be utilizedin this application, as well as in other applications and with severaldifferent types of architectures such as distributed computingarchitectures, client or server architectures, or middleware serverarchitectures and associated components.

Most businesses and other enterprises have sophisticated computingsystems used for facilitating internal operations and for storingsensitive data, protecting access to such data, and securelycommunicating outside the enterprise's network, for example to exchangeinformation with business partners, healthcare providers or the similardata exchange partners. These enterprise systems also interface withindividual users. Individual users also use sophisticated computingsystems to facilitate working software application contexts such asrunning office applications for database creation and word processing,note taking, accessing internet data applications, gaming, videoplayback entertainment, video and voice communications, email and otherelectronic communication, websurfing, music, mobile applications, andother media accesses. Much of present day information exchange isconducted electronically, via communications networks. Currently, a highdegree of media entertainment and other applications are utilized andaccessed electronically by users. For portable information handlingsystems, a need arises for efficient and compact input-outputcapabilities to accept user commands without substantial impact toextended display capabilities to facilitate broad range of usage byusers.

Additionally, traditional information handling system input devices suchas keyboards, mouse, track pad and track ball systems are giving wayalternative input systems. Some examples include visual input interfacessuch as touchscreens, hover detection, and motion sensing technologies.Among the motion sensor technologies includes vision systems that mayinclude a gesture detection camera or multiple sensors such as an imagesensor and a camera to detect gestures as with the present disclosures.It is substantially beneficial to implement integrated vision sensorsystems in an information handling system to provide an alternativeinput interface to existing input hardware or, alternatively, eliminateor reduce input hardware needed with the information handling system.Utilization of this vision sensor technology including gesture detectioncamera and image sensor with depth calibration as disclosed herein willenable free space gestures. The image sensor with depth calibration maycomprise a second camera for detecting a virtual detection plane in acomfortable spot selected by the user. In particular, the free spacegestures may be those similar to mouse or track pad gestures for cursorcontrol or graphical user interface element selection or manipulation.This optimal utilization camera sensors and image sensor and variationson those provide benefits for compactness and thin architecture ofinformation handling systems. Additionally it can reduce cost of and theneed for additional input hardware.

Free space gesture processing may detect and interpret gestures in threedimensions, or alternatively, may detect and interpret largely twodimensional free space gestures. Three dimensional gesture processingapplications may be slower and more power consuming than two dimensionalgesture processing. Two dimensional gesture technology is simpler andmay consume less power and processor capacity. Two dimensional gesturetechnology may still have some third dimensional components including anadditional image sensor such as a second camera for detecting gesturecomponents that utilize an additional dimension to indicate a particularactions. For example, a click or scroll type movement may not bestrictly in two dimensions. In certain embodiments, a virtual gesturedetection plane is beneficial for utilization of two dimensional gestureprocessing. Additionally, it is understood that the detection plane fortwo dimensional gesture processing may allow for some variation due tovariation of movement by a user or unevenness of a surface upon whichthe detection plane may be projected. Depth calibration by the gesturedetection camera or a second image sensor or camera may calibrate thevirtual gesture detection plane to a comfort zone and angle settled intoby a user.

The virtual gesture detection plane may be projected onto a surface suchas a table top, counter, or other working surface as the location forgestures to be detected by the vision sensors including the camerasystem in some embodiments. An actual projected surface via a laserprojection system or LED light projection integrated into theinformation handling system or even integrated with the camera may beused to project delineation of the two dimensional gesture detectionplane onto a working surface of the user. In certain embodiments, acamera and depth sensor are located on the side of the informationhandling system for the purpose of detecting the free space gestures.Additionally, a laser or LED projection system may similarly be mountedon the side of the information handling system for projection to adelineate a gesture detection plane boundary. Two and three dimensionalgesture detection and processing are described in further detail belowby way of several embodiments of the same.

In other embodiments, the projection plane may be projected in freespace with a plane selected for detection of the two dimensionalgestures. In this embodiment, a working surface is not necessary. Due toexpected variations in free space by the user and difficulty maintainingthe same approximate working plane for gestures, the system may includea projection plane adjustment system for two dimensional gesturedetection and processing to adjust to variations. This gestureprojection plane adjustment system is also described in further detailbelow.

The current disclosed embodiments describe a system and method forlocating an integrated camera, depth sensor and detection planeprojection system along a side of an information handling system. Inputsfrom several sensors including the camera, depth sensor, andorientations sensors determine the gesture detection plane. Such agesture detection plane is determined based on detection of keycomponents of a user indication device such as a user's hand, fingers,or a stylus. The gesture detection plane will also depend on the gesturemode classification selected.

Embodiments of the current disclosure also provide methods and systemsfor controlling the detection of gestures and correction or adjustmentof a gesture detection plane in accord with orientation of theinformation handling system, the user's hand and fingers performinggestures, and in certain embodiments a working surface upon which agesture detection plane may established. Either two dimensional or threedimensional cameras may be used. A 3D camera typically has depthcapability as is understood in the art. A 2D camera or 3D camera or bothmay be integrated in the vision system described below. A 2D camera maybe included with a 3D camera in the vision system as a lower power orlower processing cost solution during certain operating modes.Alternatively, a separate image sensor such as another camera may beused for depth perception purposes. For example, a virtual touchpad typemode may include depth perception that may be used to track finger tipsmoving back and forth in free space gestures.

FIG. 1 shows an information handling system 10 including conventionalinformation handling systems components. This information handlingsystem may be a mobile device and of a type typically found inclient/server computing environments. The FIG. 1 block diagram shows theinformation handling system 10 with camera 170 capable of administeringeach of the specific embodiments of the present disclosure. Theinformation handling system 10 can include a set of instructions thatcan be executed to cause the computer system to perform any one or moreof the methods or computer based functions disclosed herein.

For purposes of this disclosure, an information handling system mayinclude any instrumentality or aggregate of instrumentalities operableto compute, classify, process, transmit, receive, retrieve, originate,switch, store, display, manifest, detect, record, reproduce, handle, orutilize any form of information, intelligence, or data for business,scientific, control, entertainment, or other purposes. For example, aninformation handling system may be a personal computer, a tablet, aPDA/smartphone, a consumer electronic device, a network server orstorage device, a switch router, wireless router, or other networkcommunication device, or any other suitable device and may vary in size,shape, performance, functionality, and price. In a particularembodiment, system 10 can be implemented using electronic devices thatprovide voice, video or data communication. In a networked deployment,the information handling system 10 may operate in the capacity of aserver or as a client user computer in a server-client user networkenvironment, or as a peer computer system in a peer-to-peer (ordistributed) network environment. Further, while a single informationhandling system 10 is illustrated, the term “system” shall also be takento include any collection of systems or sub-systems that individually orjointly execute a set, or multiple sets, of instructions to perform oneor more computer functions.

The information handling system may include memory 109, one or moreprocessing resources such as a central processing unit (CPU) 105 orhardware or software control logic, and operates to execute code.Additional components of system 10 may include main memory 109, one ormore storage devices such as static memory or disk drives 110. Thesememory devices 109, 110 can store code and data. Other componentsinclude one or more communications ports for communicating with externaldevices as well as various input and output (I/O) devices. I/O devicesmay include alphanumeric and cursor control devices 160 such as akeyboard, a touchpad, a mouse, one or more video display devices 125,display touchscreen(s) with touch controllers 130, and one or morecameras 170 including camera controllers. The information handlingsystem may also include one or more buses 118 operable to transmitcommunications between the various hardware components.

The information handling system may include one or more processingresources such as a central processing unit (CPU) 105, a graphicsprocessing unit (GPU) 106 that may or may not be integrated with a CPU105, and related chipset(s) 108 or hardware or software control logic.System 10 may include several sets of instructions 121 to be run by CPU105, GPU 106, and any embedded controllers 120 on system 10. One suchset of instructions includes an operating system 122 with operatingsystem interface. Example operating systems 122 can include those usedwith typical mobile computing devices such as Windows Phone mobile OSfrom Microsoft Corporation and Android OS from Google Inc., for exampleKey Lime Pie v. 5.x. Additional sets of instructions in the form ofmultiple software applications 124 may be run by system 10. Thesesoftware applications 124 may enable multiple uses of the informationhandling system as set forth in more detail below. Applications 124 mayinclude applications involving use of the display device 125 as well asperipheral systems such as a camera 170 as described further herein.Application 124 may further include systems and methods for coordinatingthe display of images via the thin panel display and operating thecamera 170 through the thin panel display as described in more detailherein. System 10 can also include a signal generation device orreceiving device, such sound sensors 156, remote control, and a networkinterface device 40.

System 10 may operate as a standalone device or may be connected such asby using a network, to other computer systems or peripheral devices.System 10 can represent a server device whose resources can be shared bymultiple client devices, or it can represent an individual clientdevice, such as an individual mobile personal computing system. Morespecifically, system 10 represents a mobile user/client device, such asa mobile tablet computer, smartphone, or laptop. System 10 has a networkinterface device 40, such as for a wireless cellular or mobile networks(CDMA, TDMA, etc.), WIFI, WLAN, LAN, or similar network connection,enabling a user to communicate via a wired or wireless communicationsnetwork 50, such as the Internet. System 10 may be configured withconventional web browser software. The web browser may include forexample Microsoft Corporation's Internet Explorer web browser software,Firefox or similar such browsers to allow the user to interact withwebsites via the wireless communications network 50.

System 10 also includes one or more display devices 125 that may utilizeLCD, OLED, or other thin film technologies. Each display device 125 maybe capable of touch input via touch controller 130. Each display device125 has a display controller hub 135. The display controller hub 135 mayinclude control logic and software or access separate control logic andsoftware. Components may include a display controller or driver 137 anda backlight controller 140 for LCD thin film display technologies or abrightness controller for OLED/AMOLED technologies. The one or moreparts of the display controller hub 135 may be operated by or integratedwith one or more graphics processing units (GPUs) 106 such as those thatare part of the chipset 108. The display device 125 and one or moreparts of the display controller hub 135 may also be controlled by theembedded controller 120 of chipset 108. Each GPU 106 and displaycontroller/driver 137 is responsible for rendering graphics such assoftware application windows and virtual tools on the display device125.

The information handling system 10 may include one or more integratedcamera systems 170 with one or more camera drivers. Some cameras 170 mayoperate in accordance with normal usage as a webcam or such as thosethat may be mounted on a back surface for standard image taking with theinformation handling system 10. Image taking or image capture can referto any type of camera operation whether still image capture, video, orother functions or for other purposes. Alternatively, any one or all ofcamera(s) 170 may be used as part of a virtual I/O device hub 141 tocapture images of gesture as part of the disclosure embodimentsdescribed below. Camera(s) 170 may be part of or connected to thevirtual I/O device hub 141 for those having free space gesture capturecapabilities. For example, the side mounted camera or other cameraoperating as an I/O input device for gestures may also have a dualfunction and be used for image capture purposes in other embodiments.However not all cameras may be associated with the virtual I/O devicehub 141 depending on the embodiment. Some or all of the camera(s) 170may be infrared (IR) cameras or near-infrared cameras for use in lowlight or other difficult light settings or camera(s) 170 may operate ina typical visible light spectrum. It should be noted that camera(s)mounted in other locations may similarly act as virtual I/O inputdevices with the virtual I/O device hub 141 to capture free spacegestures according the systems and methods disclosed in embodimentsherein.

Additional functionality may be integrated in the information handlingsystem to work in connection with the virtual I/O input hub 141 toenhance functionality in some embodiments. Such additional hardware mayinclude an image sensor or proximity sensor, such as a low resolution IRor near IR camera, to detect a user's hand location and movement.Additionally, a second camera or IR system may act as a depth sensor todetect location of a hand and orientation of palm and fingers inproximity to the camera and the information handling system. Thus, asecond camera may be the additional image sensor hardware. The cameras170 may also be capable of capturing either two dimensional or threedimensional imagery of gesture actions and may incorporate multipleimage capture components or cameras 170 as necessary to capture gestureimages for interpretation to commands. Also, projection of a gestureboundary via a laser or LED projection system may be employed asadditional hardware integrated into the information handling system.Further description of the camera virtual I/O input device system isdescribed below as is additional description of additional integratedfunctionality and hardware for use in conjunction with the gesturedetection camera for I/O inputs to the information handling system 10.

In one embodiment, the gesture detection camera and gesture detectionsystem 142 operate to detect and interpret the gesture for I/O input.The gesture detection system 142 may be code run on one or moreprocessors in the information handling system. Such a system to supportcamera gesture detection for I/O input may operate on the CPU 105 or GPU106 via the chipset 108. Alternatively, the gesture detection system 142may be firmware or software code instructions operating on a separatecontroller or processor. For example, the gesture detection system 142may operate on or in close connection with the gesture detection cameraand its associated camera controller.

The gesture detection system 142 operates to identify a user's hand andelements of the user's hand relevant to the gestures including a palmand one or more fingers that may perform gestures. The gesture detectionsystem 142 interprets gesture movements by a user's hand into commandsfor selection and manipulation of a cursor or elements displayed by anoperating system 122 or application 124 running on the informationhandling system. In an example embodiment, the gesture detection system142 may also maintain a gesture detection plane and hand orientation. Inanother embodiment, the gesture detection system 142 may detect theoperating system 122 or applications 124 to be run on the informationhandling system 10. This is done to determine what type of gestures mayneed to be supported for I/O input functions like cursor control.

System 10 of the current embodiment also has a system sensor module 150.Various orientation sensors are included in this module to assist withdetermining the relative orientation of the information handling system.Subcategories of orientation sensors include motion sensors 152, imagesensors 154, and sound sensors 156. Sensor system module 150 is a sensorhub, or an accumulator device, that collects raw data from connectedorientation sensors, and organizes and processes data received from theconnected sensors. Such a sensor hub may be an independentmicrocontroller such as the STMicro Sensor Fusion MCU as well as othermicrocontroller processing systems known to persons of ordinary skill.Alternatively, it is contemplated that the sensor and fusion hub may beintegrated into a core processing chipset such as CPU systems for mobiledevices as available from Intel® corporation or may utilize ARM Coreprocessors that serve as single or multiple core processors inalternative chipset systems. The sensor hub may communicate with thesensors and the main CPU processor chipset via a bus connection such asan Inter-Integrated Circuit (I2C) bus or other suitable type ofmulti-master bus connection. Sensor data may impact location of expectedfree space gestures and orientation of a gesture detection boundary andgesture detection plane.

FIG. 2 illustrates a system block diagram of a subset of elements 20 ofan information handling system 10 that may work with virtual I/O devicehub 141 to enable free space gesture inputs. This subset includinghardware, firmware, and software elements for controlling a visionsystem 269 including camera 270 and image sensors 271. System 20executes code in software or firmware on processor chipset(s) 208 forgesture detection and interpretation by the gesture detection system 242and coordinates gesture images and data from vision system 269.Alternatively, the code in software or firmware may be executed on aseparate processor or microcontroller or may be hard coded into an ASICdesigned to perform some or all of the operations of the gesturedetection system 242, software application sensor system requirementmodule 243, and to control the vision system 269.

Camera 270 and image sensor 271 of vision system 269 calibrate adetection zone and gesture detection plane. Additionally, camera 270 andimage sensor 271 may detect and capture images of gestures for input toa virtual I/O hub. These images are buffered in image buffer 207 andthen provided to processor chipset 208 or other processing device asneeded by the gesture detection system 242. Gesture detection system 242may include several subcomponents in an example embodiment as shown inFIG. 2 that may be used to interpret the free space gesture imagescaptured by the vision system 269. Software application sensor systemrequirement module 243 determines the type of gestures supported by theactive software application running on the information handling systemat the time virtual I/O inputs are being used. For example, the systemdetermines whether cursor control functions such as clicks, itemselection, scrolling, highlighting, drawing, writing, and other I/Ofunctions are available.

Gesture detection system 242 may include a gesture classifier todetermine the type of gesture being detected. Examples of gesture typesavailable include orientation of the gesture such as whether gesturesare being received by a left hand or right hand or if the free spacegestures are being input in a hover position over the center of thedevice. Additional classification may include the type of userindication device being used to perform free space gestures for input.User indication devices may include a user's hand, pen or pencil, stylusor similar devices. Classification of gestures may also depend on thecategory of gestures being received. For example, one gesture detectioncategory may be determined to be virtual mouse gestures based on thegesture images captured. Detection of a virtual mouse click or the slideof a palm on a gesture detection plane may indicate virtual mousegestures. Another example classification may include virtual trackpadinputs such as a detection of a finger touch and finger lateral movementon a gesture detection plane.

Gesture detection system 242 may include a signal module to take thebuffered images of vision system 269 and provide interpretation bysequencing images in preparation for rating and comparison with imagesstored in a gesture database. Gesture database may have datarepresenting multiple gestures available within a classification. Forexample, a right hand virtual mouse gesture classification may includepalm slides, virtual mouse clicks, virtual click and hold, virtualscroll wheel and other gestures. Additional database entries may includeclassifications for virtual touchpad gestures or pen/pencil/stylusgestures. A virtual touchpad gesture may include one finger touch,multiple finger touches, touchpad clicks, and virtual touches toactivation buttons as are understood by those of ordinary skill in theart as mimicking actual touchpad technology.

Variations to virtual mouse or virtual touchpad modes for theconvenience of the user's or to improve upon the limitations of themimicked actual I/O devices in certain embodiments. For example,additional gestures are possible including variations from a typicalmouse or typical touchpad operation. This may include virtual clicks orvirtual finger touches with different fingers or multiple fingers orother detectable movements of the user's hand. A separate set ofgestures may be stored in the gesture database for each of the gestureclassification. For example, a similar set of virtual mouse gestures orvirtual trackpad gestures may be available for a user's left hand from aleft side mount camera or a re-oriented information handling system suchas a tablet or other mobile device. Yet another set of virtual mousegestures may be available for a center hover position or other positionsfor gestures from either hand.

The gesture detection system 242 may also include a rating and triggertable. Once a gesture classification is determined according to motionof a user's hand or other user indication device, the captured images ofthe gesture are compared with data for the gestures in thatclassification from the gesture database. A rating is assigned to thegesture based on its correspondence to the stored gesture from thegesture database. If the rating of the gesture motion from the imagesmeets a threshold, the detected free space gesture triggers an action inthe information handling system. The action may be cursor control orselection of an element of a software application running on theinformation handling system. Other actions may include those allowed inthe detected application software running on the information handlingsystem as determined by the software sensor requirement module 243.

In another embodiment, the virtual input/output hub 141 may furtherinclude sensory inputs such as infrared (IR) motion sensor module 244.The IR motion sensor module 244 detects proximity of a hand or pen orother user indication device near the side mounted camera 270. Indetecting proximity of a user preparing to input into the informationhandling system via the virtual I/O hub with an IR motion sensor module244, the side camera 270 need not be always on. This has severalbenefits, including power savings since proximity sensing with the IRmotion sensor may require less power to operate. The IR motion sensormodule 244 triggers the system to begin to calibrate and detect gesturesfor input into the virtual I/O and capture of gesture images forinterpretation by the gesture detection system in accordance with thedisclosures herein. It is understood that variations on the severalexample disclosures herein are possible for a gesture detection systemand the virtual I/O hub devices to calibrate, detect, capture andinterpret free space gestures for input to an information handlingsystem.

A laser projection module 245 may be integrated with the IR camera usedwith the IR motion sensor module 244. In one embodiment, laserprojection module 245 shines a laser on a hand or other user indicationdevice near the side mounted camera 270 at a plurality of points. In oneembodiment, two laser points are shined. It is understood, more than twolaser points may be used for additional accuracy and information, forexample, four laser points may be used in an alternative embodiment.Using the laser points from the laser detection module, the IR cameramay detect motion of the user's hand or other gesture indication deviceincluding direction vectors, velocity, acceleration and otherdimensional movement. If the movement detected using the laserprojection module 245 and IR motion sensing module 244 meets somethreshold of detected motion in the free space gesture zone of the sidemounted camera 270, the system initiates and the side mounted camera 270may be turned on. An example threshold may be a detected velocity of thehand or user indication device that meets a threshold velocity of 1foot/second. Velocity, acceleration and direction vectors may becomponents of contemplated thresholds required to trigger the gesturedetection system via the virtual I/O hub.

Laser projection module 245 may be integrated with the IR camera of IRmotion sensor module 244 or may be a separate device of the informationhandling system. In addition to the embodiment above, a laser projectionmodule 245, whether or not integrated with the IR camera, may also beused to project virtual working boundaries of a virtual gesturedetection plane in accordance with the disclosures further describedherein.

In another embodiment projection module 245 may not necessarily be laserlight projection. Alight projection module 245 may be in its place. Forexample, a LED or other light source may be used to approximatelyilluminate the virtual gesture detection plane for free space gestures.In one embodiment, this light may be focused, for example variablyfocused, to approximate a virtual working boundary for free spacegestures.

Coordination of the vision system 269, gesture detection system 242, andIR motion sensor module 244 of the virtual I/O hub involves control ofthe camera 270 and gathering of gesture images for interpretation by thegesture detection system 242 operating via processors such as processoror chipset 208. Coordination occurs via instructions running on orbetween elements of the processor chipset or an external controller suchas an MCU associated with the gesture detection system 242. This mayinclude CPU, embedded controllers, and camera controllers, executing allor parts of instructions for capturing free space gesture images forinterpretation into information handling system control commands such ascursor control. The CPU 205, embedded controller, MCU, cameracontrollers or other processors may coordinate via the informationhandling systems application programming interface (API). The APIcoordinates the various elements of code run on one or more processorsin the chipset or controllers associated with the elements of visionsystem 269, their drivers, and the gesture detection system 242. Thesecode elements may comprise the systems or perform the methods describedherein that comprise the disclosed methods and systems including severalfeatures of the gesture detection system 242, the IR motion sensormodule 244 operation, software sensor requirements and other elements ofthe virtual I/O hub.

FIG. 3 shows an example of an information handling system 310 with sidemount camera 370 and image sensor 371. FIG. 3 is not drawn to scale. Forexample, the size of the camera and proximity of the side mount camera370 and image sensor 371 may vary and the location these elements may bechanged or altered to the opposite side of the information handlingsystem 310 as is understood by one of ordinary skill in the art. Thedetection zone 373 is shown to the side of the information handlingsystem 310, but may be located on either the right side, left side,hover center, or at another location selected to be before the camera370 and image sensor 371 of the vision system. Additional aspects of thevision system may not be shown in this embodiment including the IRmotion sensor module and laser projection module.

The user indication device 327, in the shown embodiment the user's hand,is shown performing a free space gesture 328. In one embodiment, theside mount camera 370 is located along a side edge of an example laptopcomputer. The side mount camera 370 may be located on either the left orright side. In an alternative embodiment, the free space gestures may bemade in space at the center of the information handling system 310, forexample over the keyboard. In that embodiment, a side mount camera 370may still be used to detect center or right-center gestures if they fallwithin a view field of side mount camera 370. Alternatively, one or moreof the vision system components such as the camera 370 and image sensor371 may be located on the front surface of the information handlingsystem such as in the thin panel display or the keyboard housing for usehover gesture detection that is not to either side of the informationhandling system.

Free space gesture 328 corresponds to a cursor movement 329 by way ofvirtual I/O control using the gesture detection system and the methodsdescribed herein. Images of the free space gesture 328 are detected andcaptured by the vision system side mount camera 370 and image sensor 371for interpretation and transformation into cursor control commands. Thefree space gestures 328 may be made in relation to a free space gestureplane established via a 3D side mount camera 370 or via a 2D side mountcamera. The gesture detection system and virtual I/O hub may establishand calibrate a gesture detection plane in the detection zone 371 infree space or based on a detected physical surface such as one that theinformation handling system 310 is resting on in alternativeembodiments.

FIG. 4 shows another example of an information handling system 410 withside mount camera 470 and image sensor 471. FIG. 4 is not drawn toscale. For example, the size of the camera and proximity of the sidemount camera 470 and image sensor 471 may vary and the location theseelements may be changed or altered to the opposite side of theinformation handling system 410 as is understood by one of ordinaryskill in the art. The detection zone 473 is shown to the side of theinformation handling system 410, but may be located on either the rightside, left side, hover center, or at another location selected to bebefore the camera 470 and image sensor 471 of the vision system.Additional aspects of the vision system may not be shown in thisembodiment including the IR motion sensor module and laser projectionmodule.

The user indication device 427, in the shown embodiment the user's hand,is shown performing a free space gesture 428. In one embodiment, theside mount camera 470 is located along a side edge of an example tabletcomputer. The side mount camera 470 may be located on the left, right,top, or bottom side edge. In an alternative embodiment, the free spacegestures may be made in space at the center of the information handlingsystem 410, for example over the thin film display screen. In thatembodiment, a side mount camera 470 may be used or, alternatively one ormore parts of the vision system may be located on the front surface ofthe information handling system.

Free space gesture 428 corresponds to a cursor movement 429 by way ofvirtual I/O control using the gesture detection system and the methodsdescribed herein. Images of the free space gesture 428 are detected andcaptured by the vision system side mount camera 470 and image sensor 471for interpretation and transformation into cursor control commands.

As with the embodiment of FIG. 3, the free space gestures 428 may bemade in relation to a free space gesture plane established via a 3D sidemount camera 470 or via a 2D side mount camera. The gesture detectionsystem and virtual I/O hub may establish and calibrate a gesturedetection plane in the detection zone 471 in free space or based on adetected physical surface such as one that the information handlingsystem 410 is resting on in alternate embodiments.

FIG. 5A shows a flow diagram illustrating a system and method fordetecting and capturing free space gestures, interpreting thosegestures, and executing commands on a software application running on aninformation handling system. The process for operating a virtual I/Odevice hub via a camera capturing images of free space gestures,including a side mounted camera in one embodiment, begins at 505.

At 505, the process begins with detection of a user indication devicesuch as the user's hand, in the free space gesture detection zone. Inthe currently described embodiment, the user indication device is auser's hand, however it is understood that other user indication devicesmay be used with the same method and system components. Additionally, inthe current embodiment, the camera is a side mounted camera on theinformation handling system although the camera may be mounted elsewherein alternate embodiments. An IR motion sensor module may be integratedwith the side mount camera, image sensor, or as a separate device. TheIR motion sensor module detects proximity of a user's hand. Proceedingto 510, a laser projection system may shine laser light at a pluralityof points into the free space gesture detection zone. For example, oneor more points of laser light may be projected onto the user's hand. Thelaser light points are used for reference and detection of movements bythe user's hand in the gesture detection zone. At 515, an IR camera maybe triggered in the IR motion sensor module to detect the light pointsfor movement characteristics such as direction, velocity, andacceleration based on changes between the plurality of points of laserlight.

Proceeding to decision diamond 520, it is determined whether a motionthreshold has been met. Should one of the movement characteristics meeta threshold level, such as velocity, then the system proceeds to 525 totrigger the camera, such as a side mount camera embodiment, to activateand initialize a free space gesture plane and capture of free spacegesture images relative to that plane. Threshold velocity in onespecific embodiment may be approximately one foot/second. It isunderstood that any thresholds of velocity, acceleration, and/ordirection may be selected. Additionally, the direction component, asdetected, may impact the calculation of velocity or detection betweencapture points of light by the IR motion sensor module. In other words,perspective of light on a user's hand moving away from the IR camerawill have a different impact than one of a user's hand movingperpendicularly with respect to the IR camera.

If no motion threshold is met, the method returns to 505 until theproximity of a user indication device is detected. If a threshold ofmotion is met and the system proceeds to 525, the camera is initializedto capture images of free space gestures. At 525, the system determinesa virtual gesture detection plane as described above within the gesturedetection zone in the present embodiment. The gesture detection planemay be aligned with a flat surface if one is detected next to theinformation handling system as described above.

The flow proceeds to 530, where the system focuses on the palm of theuser's hand. The free space gesture detection system determines theboundaries of the palm, fingers and other relevant parts of the user'shand for free space gestures. In alternative embodiments, this may befocus on the user's finger tips for a virtual touchpad mode or the endof a pen, pencil or stylus for a stylus mode. An example of the gesturedetection software and images determining the user's palm, fingers, orhand outline is shown in FIG. 5B. At 535, the zoom of the camera isadjusted to provide an area of image capture larger than the size of theuser's hand or other user indication device for gestures. This may bedone by increasing the view field for gesture detection by a certainamount. In the example embodiment, the increase may be 20%. This willestablish preliminary parameters for a virtual working boundary for thefree space gestures by the user's hand or other gesture indicationdevice. In one example embodiment, the gesture detection plane may becalibrated at this point for pitch and angle and have some virtualworkspace boundaries applied to it. However, the view field, and virtualworking boundary, may be incrementally adjusted depending on size of thegesture indication device used or the size of the free space gesturemotions made by the user.

At 540, the side mount camera of the vision system captures one or moreimages of the free space gesture motion. This image capture is used at545 to classify the gesture. For example, a palm slide free spacegesture, a virtual click or virtual double click with one finger and apalm on a virtual gesture detection plane may indicate a virtual mousemode. Additionally, a palm on gesture detection plane with a virtualsingle finger scroll gesture may indicate a virtual mouse mode. A singlefinger or two fingers on a gesture detection plane may indicate avirtual track pad mode in another embodiment. Additional classificationsmay include whether a left or right hand is being used for free spacegestures, among others discussed above. It is understood, that thesystem may at any time during the process detect a free space gestureindicating a different gesture mode and switch classifications.

Once the gesture mode is determined at 545, the gesture detection systemmay create a binary image of the gesture images 550. Proceeding to 560,the binary image may be defined for the position shape of the handgesture accounting for tilt or roll of the hand position. The positionof the hand will affect the shape in images of the free space handgesture captured. The free space gesture detection system will need toaccount for these factors in calibrating a virtual gesture detectionplane and the shape of the user's hand or other user indication devicein the captured images when interpreting the gestures.

At 565, the gesture database is accessed for the classified gesture modedetermined at 545. The gesture detection system rates the gesture incomparison with data from the gesture database at 570. The rating is ascore of similarity with gestures stored for gesture modeclassifications. For example, when an index finger is detected going upand down and back and forth in a virtual click or scroll type action,this may score well with a virtual mouse mode. If a palm is furtherdetected virtually resting or sliding along a virtual gesture detectionplane, then this further scores a better rating for corresponding tovirtual mouse mode. If on the other hand, only a finger tip or pluralfingertips are detected in planar movement along a gesture detectionplane, but no palm rest, then this will score a good rating for avirtual touchpad mode. The gesture database may include several criticalmodes and include a learning component based on a virtual machinelearning scheme to interpret gestures or variations on gestures tocorrespond to particular modes for one or more users of the informationhandling system. In this way, the gesture mode selection may become moreefficient over time. The mode selection may also be based on contextualinformation such as the software application running on the informationhandling system or the physical orientation of the information handlingsystem.

To proceed, the comparison rating with a stored gesture indication mustmeet a score threshold level. If the rating is high enough to meet athreshold level for a gesture within the mode of gesture classification,then the free space gesture is determined to have been indicated by theuser at decision diamond 575.

If no rating match has been made at decision diamond 575, the flowproceeds to decision diamond 580 to determine if the free space gestureindicates a different gesture mode classification in the presentembodiment. Timing of reclassification of gesture mode can bereevaluated at several points in the process in alternative embodiments.If not a new mode, the flow feeds back to 540 to capture additionalgesture images. If it does indicate a mode change for free spacegestures by the user, the flow proceeds back to 530 where the camerawill re-focus for the different mode. For example, the focus at 530 willbe on the palm for virtual mouse mode, finger tips for virtual track padmode, or adjust focus for left or right hand.

Upon meeting a threshold level at decision diamond 575 such that a freespace gesture rating matches sufficiently with a gesture from thegesture mode database, the flow proceeds to 585. At 585, the systeminitializes a command file associated with that stored gesture. In thepresently described embodiment, the command file involves cursor controlcommands for use with a running software application on the informationhandling system. Proceeding to 590 the system executes the cursorcontrol command in the running software application. At this point theflow ends, however while the side mount camera or other gesturedetection camera is on and the gesture detection system is operating,the process is proceeding from 525 for capture of a new gesture ordetermining a new gesture mode classification as described above. Thegesture detection system and vision system are actively seeking tocapture free space gesture images for interpretation during operationafter the gesture detection system and vision system have beeninitialized.

FIG. 6 shows yet another example of an information handling system 610with side mount camera 670 and image sensor 671. FIG. 6 is not drawn toscale. For example, the size of the camera and proximity of the sidemount camera 670 and image sensor 671 may vary and the location theseelements may be changed or altered to the opposite side of theinformation handling system 610 as is understood by one of ordinaryskill in the art. The detection zone 673 is shown to the side of theinformation handling system 610, but may be located on either the rightside, left side, hover center, or at another location selected to bebefore the camera 670 and image sensor 671 of the vision system.Additional aspects of the vision system in this embodiment include theIR motion sensor module (not shown) and laser projection module 645. Inthe current embodiment, the laser projection module 645 projects anopto-virtual projection plane 631 to represent the virtual workingboundaries of the gesture detection plane for the user.

In an example embodiment, the laser projection module 645 uses a greenlasing system to project the opto-virtual projection plane 631 sincesuch solid state lasers may be most power efficient, however any type oflaser for the laser projection module 645 is contemplated. Additionally,the opto-virtual projection plane 631 may increased and decreased insize to accommodate hand size of the user. For example, depending onhand size of the user or size of the user indication device 627. Thesystem may detect the user indication device 627, and alter theopto-virtual projection plane 631 by increments depending on varyingsize of the user indication device 627. In one embodiment, the size ofthe opto-virtual projection plane 631 may be altered in size areaincrements of 20% where the size of the opto-virtual projection plane631 should approximately correspond to boundaries of gesture detectionrelative to a gesture detection plane. In an example embodiment, theboundaries may be limited to be large enough to provide for ample freespace gesture movement, but not be too large to require detection of aninefficiently large area.

The user indication device 627, in the shown embodiment the user's hand,is shown performing a free space gesture 628. In one embodiment, theside mount camera 670 is located along a side edge of an example tabletcomputer. The side mount camera 670 may be located on either the left,right, top, or bottom side edge. In an alternative embodiment, the freespace gestures may be made in space at the center of the informationhandling system 610, for example over the thin film display screen. Inthat embodiment, a side mount camera 670 may be used or, alternativelythe vision system may be located on the front surface of the informationhandling system such as in the thin panel display housing.

Free space gesture 628 corresponds to a cursor movement 629 by way ofvirtual I/O control using the gesture detection system and the methodsdescribed herein. Images of the free space gesture 628 are detected andcaptured by the vision system side mount camera 670 and image sensor 671for interpretation and transformation into cursor control commands.

FIG. 7 shows a flow diagram illustrating method for detecting andcapturing free space gestures, interpreting those gestures, executingcommands on a software application running on an information handlingsystem, and projecting an opto-virtual projection plane such as the onedescribed for FIG. 6 for the free space gestures. The process foroperating a virtual I/O device hub via a camera capturing images of freespace gestures and a laser projection module, including an embodimentwhere one or both of the camera and laser projection module may be sidemounted, begins at 705.

At 705, the process begins with initialization of a gesture detectioncamera. This may be a side mounted camera in one embodiment of thepresent disclosure. Initialization may occur via detection of a userindication device such as the user's hand, in the free space gesturedetection zone as described for FIG. 5. Proceeding to 710, a laserprojection system is initialized. In this embodiment, the laserprojection system may be used to project an approximate boundary on avirtual gesture detection plane for use by a user. At 715, the systemfocuses on the palm of the user's hand, finger, or other relevantcomponent of a user indication device. The free space gesture detectionsystem determines the boundaries of the palm of the user's hand and/orfinger(s). In alternative embodiments, this may be focus on the user'sfinger tips for a virtual touchpad mode or the end of a pen, pencil orstylus for a stylus mode. Upon capturing location of the user's palm orof another relevant part of a user indication device for gestures, thesystem determines a virtual gesture detection plane as described abovewithin the gesture detection zone. The gesture detection plane may bealigned with a flat surface if one is detected next to the informationhandling system as described above.

The flow proceeds to 720, where the zoom of the camera is adjusted toprovide an area of image capture larger than the size of the user's handor other user indication device. This may be done by increasing the viewfield for gesture detection by a certain amount. The gesture detectionsystem then maps the palm area relative to the virtual gesture detectionplane. With this information, and partly based on the view field of theside mount camera and secondary image detection device used to capturegestures, the gesture detection system maps the virtual gesturedetection plane periphery at 730. Initial free space gesture processingwill also take place in that classification of the gesture mode willoccur by the gesture detection system. The gesture mode is relevant tothe virtual working boundary and gesture detection plane. Data for theabove several factors will establish an approximate but adjustable typeof virtual working boundary for the free space gestures by the user'shand or other gesture indication device. In one example embodiment, thegesture detection plane may be calibrated at this point. Calibration ofthe gesture detection plane may account for pitch and angle of freespace gesture motions. Additionally, the free space gesture plane mayhave some virtual workspace boundaries applied to it. These virtualworking boundaries may be based in part on the view field of the cameraas described above. However, the working boundary may be incrementallyadjusted depending on size of the gesture indication device used or thesize of the free space gesture motions made by the user. Also at 730,the approximate boundary is then defined for laser projection to providea visual approximate boundary for the user.

Proceeding to decision diamond 735, the gesture detection systemdetermines whether an approximate working virtual boundary must beadjusted due to a change in mode or a different size of user indicationdevice or size of gesture motions. If an adjustment is needed to keep anapproximate working virtual boundary of appropriate size to capture freespace gestures for the gesture mode, the gesture detection system willincrementally modify the virtual working boundary area at 740. In thepresent embodiment, the increment is changed at a 20% change, but otherincremental changes are contemplated. For example, if a mode changeprecipitates a change in the virtual working boundary for gestures, thesystem may adjust to a default starting size for the new gesture type.Particular example embodiments of modes may include a different defaultsize for the virtual working boundary on the gesture detection plane.For example, a virtual trackpad mode or virtual stylus mode may have adifferent default boundary size than a virtual mouse mode. If a modechange for free space gestures by the user is required, the camera willre-focus for the different mode. For example, the focus at 720 will beon the palm for virtual mouse mode, but on finger tips for virtual trackpad mode, a stylus pen tip, or adjust focus for left or right hand incertain example embodiments. Size of the virtual working boundary arearelative to the focus on the relative user indication device will bespecific to make the virtual working boundary useful for a given gestureclassification mode.

Upon making the incremental change at 740, flow returns to decisiondiamond 735 to determine if another adjustment must be made. However,the gesture detection method may reassess whether an adjustment isnecessary to the virtual working boundary any time a change is made tothe gesture mode, the user indication device, or another substantialchange is detected in the gesture detection zone. The gesture detectionsystem maintains a vigilance for necessary changes to the gesture modeor to the virtual working boundary.

If no adjustment of virtual working boundary size is needed, the flowproceeds to 745 where the projected virtual working boundary is reducedto a low-power state in an example embodiment to save battery power. Theflow proceeds to 750, where the gesture detection system capture gestureimages with the side mount camera and image detector of the visionsystem. At 755, the gesture detection system processes the free spacegestures images with ratings to determine if a cursor control command orother command corresponds to the free space gesture. Example embodimentsof the free space virtual image are described above. The gesturedetection system initializes a command file associated with that storedgesture at 760. In the presently described embodiment, the command fileinvolves cursor control commands for use with a running softwareapplication on the information handling system.

Proceeding to 765 the system executes the cursor control command in therunning software application. At this point the flow ends, however whilethe side mount camera or other gesture detection camera is on and thegesture detection system is operating, the process is proceedingcontinues to monitor new free space gestures for additional gestures.Also, the gesture detection system continues to determine whether a newgesture requires a change in mode classification or modification to theprojected working virtual boundary as adjustments are necessarydescribed above. The adjustments to the projected virtual workingboundary for free space gestures and the gesture detection plane isminimized to avoid disruption to the user in one embodiment. Clearchanges in gesture classification mode, replacement of a user indicationdevice, or other clear change will trigger a virtual boundary adjustmentonce the system has been continuously operating to interpret a series offree space gesture. The gesture detection system and vision system areactively seeking to capture free space gesture images for interpretationduring operation after the system has been initialized. The gesturedetection system and laser projection of virtual working boundary mayhave a sleep mode to save battery power after a time period ofinactivity in yet another embodiment.

The system and methods described in the embodiments above may compriseprocessor executable instructions stored in computer-readable medium.The main memory unit 109 and disk drive unit 110 may include acomputer-readable medium in which one or more sets of instructions suchas software can be embedded. The disk drive unit 110 also contains spacefor data storage. Further, the instructions may embody one or more ofthe methods or logic as described herein. In a particular embodiment,the instructions may reside completely, or at least partially, withinmain memory 109, the static memory or disk drive unit 110, and/or withinthe processor chipset(s) 108 during execution by the system 10. The mainmemory 109 and the processor chipset 108 also may includecomputer-readable media. The network interface device 40 can provideconnectivity to a network 50, (e.g. a wide area network (WAN)), a localarea network (LAN), wireless network, or other network.

In an alternative embodiment, dedicated hardware implementations such asapplication specific integrated circuits, programmable logic arrays andother hardware devices can be constructed to implement one or more ofthe methods described herein. Applications that may include theapparatus and systems of various embodiments can broadly include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit. Accordingly, thepresent system encompasses software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system. Further, in an exemplary, non-limitedembodiment, implementations can include distributed processing,component/object distributed processing, and parallel processing.Alternatively, virtual computer system processing can be constructed toimplement one or more of the methods or functionality as describedherein.

The present disclosure contemplates a computer-readable medium of mainmemory 109 and static memory or drive unit 110 that includesinstructions or receives and executes instructions responsive to apropagated signal; so that a device connected to a network interfacedevice 40 can communicate voice, video or data over the network 50.Further, the instructions may be transmitted or received over thenetwork 50 via the network interface device 40.

While the computer-readable medium is shown to be a single medium, theterm “computer-readable medium” includes a single medium or multiplemedia, such as a centralized or distributed database, and/or associatedcaches and servers that store one or more sets of instructions. The term“computer-readable medium” shall also include any medium that is capableof storing, encoding, or carrying a set of instructions for execution bya processor or that cause a computer system to perform any one or moreof the methods or operations disclosed herein.

In a particular non-limiting, exemplary embodiment, thecomputer-readable medium can include a solid-state memory such as amemory card or other package that houses one or more non-volatileread-only memories. Further, the computer-readable medium can be arandom access memory or other volatile re-writable memory. Additionally,the computer-readable medium can include a magneto-optical or opticalmedium, such as a disk or tapes or other storage device to storeinformation received via carrier wave signals such as a signalcommunicated over a transmission medium. Furthermore, a computerreadable medium can store information received from distributed networkresources such as from a cloud-based environment. A digital fileattachment to an e-mail or other self-contained information archive orset of archives may be considered a distribution medium that isequivalent to a tangible storage medium. Accordingly, the disclosure isconsidered to include any one or more of a computer-readable medium or adistribution medium and other equivalents and successor media, in whichdata or instructions may be stored.

Although only a few exemplary embodiments have been described in detailabove, those skilled in the art will readily appreciate that manymodifications are possible in the exemplary embodiments withoutmaterially departing from the novel teachings and advantages of theembodiments of the present disclosure. Accordingly, all suchmodifications are intended to be included within the scope of theembodiments of the present disclosure as defined in the followingclaims. In the claims, means-plus-function clauses are intended to coverthe structures described herein as performing the recited function andnot only structural equivalents, but also equivalent structures.

What is claimed is:
 1. An information handling system having a freespace gesture detection system comprising: a housing with a front facingsurface, a back facing surface, and at least one side edge connectingthe front facing surface and back facing surface; a camera mounted inthe side edge surface of the housing oriented to detect gestures by auser in a gesture detection zone next to the information handlingsystem; a free space gesture detection system executing instructions ona processor determining available gesture commands for a softwareapplication operating on the information handling system; the free spacegesture detection system maintaining a virtual gesture detection planein the gesture detection zone, the virtual gesture detection planecalibrated to a location and tilt angle of a user's hand; and theprocessor interpreting detected gestures in the virtual gesturedetection zone to correspond to cursor control commands in the softwareapplication operating on the information handling system.
 2. The systemof claim 1, further comprising: an orientation sensor for detectingorientation of the information handling system relative to calibratingthe virtual gesture detection plane to the location and angle and tiltangle of the user's hand.
 3. The system of claim 1, further comprising:a second camera for detecting depth for calibration of the virtualgesture detection plane.
 4. The system of claim 1, wherein the freespace gesture detection system maintains the virtual gesture detectionplane by sensing and adjusting depth and angle of tilt calibration tochanges in the location and angle of the user's hand.
 5. The system ofclaim 1, wherein the free space gesture detection system detects palmand finger elements of a user's hand in the virtual gesture detectionplane to sense virtual mouse movements including virtual finger clicks.6. The system of claim 1, wherein the free space gesture detectionsystem detects a fingertip element of a user's hand in the virtualgesture detection plane to sense virtual track pad input movementsincluding virtual finger touches and drags.
 7. The system of claim 1,wherein if the camera detects a working surface in the gesture detectionzone, the free space gesture detection system maintains the virtualgesture detection plane to correspond to the working surface.
 8. Thesystem of claim 1, further comprising: the camera includes a first twodimensional camera and a second three dimensional camera, wherein thefree space gesture detection system has a 2D mode using the first twodimensional camera when a working surface is detected in the gesturedetection zone and a 3D mode when no working surface is detected.
 9. Thesystem of claim 1, further comprising: a light projection system toproject to a location corresponding with boundaries of the virtualgesture detection plane.
 10. A computer-implemented a free space gesturedetection method comprising: detecting, via a side mounted camera on aninformation handling system, gestures by a user in a gesture detectionzone next to the information handling system; determining, via aprocessor executing instructions, available gesture commands for asoftware application operating on the information handling system;maintaining a virtual gesture detection plane in the gesture detectionzone; calibrating the virtual gesture detection plane to a location andtilt angle of a user's hand; and interpreting detected gestures in thevirtual gesture detection zone, via the processor, to correspond tocursor control commands in the software application operating on theinformation handling system.
 11. The method of claim 10, whereinmaintaining the virtual gesture detection plane includes sensing andadjusting depth and angle of tilt calibration to changes in the locationand angle of the user's hand via a second camera.
 12. The method ofclaim 10, further comprising: detecting orientation of the informationhandling system, via orientation sensors, to calibrate the virtualgesture detection plane to the location and angle and tilt angle of theuser's hand relative to the information handling system.
 13. The methodof claim 10, further comprising: detecting palm and finger elements of auser's hand in the virtual gesture detection plane to sense virtualmouse movements including virtual finger clicks and finger scrollmovement.
 14. The method of claim 10, further comprising: detecting afinger element of a user's hand in the virtual gesture detection planeto sense virtual track pad input movements including virtual fingertouches and drags.
 15. The method of claim 10, further comprising:detecting a working surface in the gesture detection zone; andmaintaining the virtual gesture detection plane to correspond to theworking surface.
 16. The method of claim 10, further comprising:projecting a laser light boundary corresponding with boundaries of thevirtual gesture detection plane.
 17. An information handling systemhaving a free space gesture detection system comprising: a side mountedcamera to detect gestures by a user in a gesture detection zone next tothe information handling system; a free space gesture detection systemexecuting instructions on a processor determining a virtual gesturedetection plane in the gesture detection zone; the free space gesturedetection system calibrating the virtual gesture detection planecalibrated to a location and tilt angle of a user's hand; an orientationsensor for detecting orientation of the information handling system andcamera relative to calibrating the virtual gesture detection plane tothe location and tilt angle of the user's hand; and the processorinterpreting detected gestures in the virtual gesture detection zone tocorrespond to control commands for a software application operating onthe information handling system.
 18. The system of claim 17, wherein thefree space gesture detection system detects the software applicationrunning on the information handling system and determines availablegesture commands for use with the software application.
 19. The systemof claim 17, further comprising: the free space gesture detection systeminterpreting detected gestures via a gesture classifier comparing thedetected gesture with a gesture database via the processor.
 20. Thesystem of claim 17, wherein the free space gesture detection systemoperates in a plurality of modes representing a plurality of gesturedriven virtual I/O input devices.